Integrated game development cloud computing platform

ABSTRACT

In various embodiments, methods and systems for game development based on an integrated game development cloud computing platform are provided. Development components that facilitate game development using an integrated game-cloud component are initiated. An input is received to perform a game development task. The game development task is associated with one or more games. The game development task is executed using the integrated game-cloud component. The integrated game-cloud component comprises a game-development-platform development component and a cloud-computing-platform development component combined into an integrated development component supported on the integrated game development cloud computing platform. The game development task can be associated with a first game-platform and a second game-platform of a selected game. The game-platform functions with a cross-platform support component having an integrated core module and an integrated game-platform module.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims priority to U.S. Provisional Application Ser.No. 61/868,048, filed Aug. 20, 2013, entitled “INTEGRATED GAMEDEVELOPMENT CLOUD COMPUTING PLATFORM,” which is incorporated herein byreference in its entirety.

BACKGROUND

Game development publishers develop different types of games for avariety of gaming consoles and systems. Games are developed using gamedevelopment platforms that can also facilitate the deployment of games.Game development platforms can be accessed through a dedicated gamedevelopment infrastructure including as a cloud-based service on cloudcomputing platforms. In particular, cloud-based game services areimplemented as separate programming models, Software Development Kits(SDKs), tools, graphical user interfaces, and billing models on cloudcomputing platforms. In this regard, conventional techniques forproviding cloud-based game development platforms are not effective infacilitating an integrated game development cloud computing platformbecause conventional techniques fail to provide comprehensive supportfor game development such as game deployment and game management.

SUMMARY

This summary is provided to introduce a selection of concepts in asimplified form that are further described below in the detaileddescription. This summary is not intended to identify key features oressential features of the claimed subject matter, nor is it intended tobe used in isolation as an aid in determining the scope of the claimedsubject matter.

Embodiments of the present invention provide a method for gamedevelopment based on an integrated game development cloud computingplatform. Development components that facilitate game development usingan integrated game-cloud component are initiated. An input is receivedto perform a game development task. The game development task isassociated with one or more games. The game development task is executedusing the integrated game-cloud component. The integrated game-cloudcomponent comprises a game-development-platform development componentand a cloud-computing-platform development component combined into anintegrated development component supported on the integrated gamedevelopment cloud computing platform at least in part as a combined setof related functions. The game development task can be associated with afirst game-platform and a second game-platform of a selected game. Thegame-platform functions with a cross-platform support component havingan integrated core module and an integrated game-platform module.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention is described in detail below with reference to theattached drawing figures, wherein:

FIG. 1 is a block diagram of an exemplary computing environment suitablefor use in implementing embodiments of the present invention;

FIG. 2 is a block diagram of an exemplary integrated game developmentcloud computing platform in which embodiments of the invention may beemployed;

FIG. 3 is a schematic diagram showing a graphical user interface forgame development based on an integrated game development cloud computingplatform, in accordance with embodiments of the present invention;

FIG. 4 is a schematic diagram showing a graphical user interface forgame development based on an integrated game development cloud computingplatform, in accordance with embodiments of the present invention;

FIG. 5 is a schematic diagram showing a graphical user interface forgame development based on an integrated game development cloud computingplatform, in accordance with embodiments of the present invention;

FIG. 6 is a schematic diagram showing a graphical user interface forgame development based on an integrated game development cloud computingplatform, in accordance with embodiments of the present invention;

FIG. 7 is a schematic diagram showing a graphical user interface forgame development based on an integrated game development cloud computingplatform, in accordance with embodiments of the present invention;

FIG. 8 is a schematic diagram showing a graphical user interface forgame development based on an integrated game development cloud computingplatform, in accordance with embodiments of the present invention;

FIG. 9 is a schematic diagram showing a graphical user interface forgame development based on an integrated game development cloud computingplatform, in accordance with embodiments of the present invention;

FIG. 10 is a flow diagram showing a method for game development based onan integrated game development cloud computing platform, in accordancewith embodiments of the present invention; and

FIG. 11 is a flow diagram showing a method for game development based onan integrated game development cloud computing platform, in accordancewith embodiments of the present invention.

DETAILED DESCRIPTION

The subject matter of embodiments of the invention is described withspecificity herein to meet statutory requirements. However, thedescription itself is not intended to limit the scope of this patent.Rather, the inventors have contemplated that the claimed subject mattermight also be embodied in other ways, to include different steps orcombinations of steps similar to the ones described in this document, inconjunction with other present or future technologies. Moreover,although the terms “step” and/or “block” may be used herein to connotedifferent elements of methods employed, the terms should not beinterpreted as implying any particular order among or between varioussteps herein disclosed unless and except when the order of individualsteps is explicitly described.

For purposes of this disclosure, the word “including” has the same broadmeaning as the word “comprising.” In addition, words such as “a” and“an,” unless otherwise indicated to the contrary, include the plural aswell as the singular. Thus, for example, the requirement of “a feature”is satisfied where one or more features are present. Also, the term “or”includes the conjunctive, the disjunctive and both (a or b thus includeseither a or b, as well as a and b).

For purposes of a detailed discussion below, embodiments of the presentinvention are described with reference to a game development platform;however the integration of a game development platform is merelyexemplary and it is contemplated that the techniques described may beextended to other implementation contexts that integrate otherapplication development platforms into a cloud computing platform.

A game (e.g., video game) developer is a software developer whospecializes in game development—the process and related disciplines ofcreating games. A developer may specialize in a certain game consoles(e.g., MICROSOFT XBOX, NINTENDO WII, SONY PLAYSTATION) or may developfor a number of systems (including client computing devices). Adeveloper may work independently or with a game publisher. A gamedeveloper or game publisher (e.g., MICROSOFT, ELECTRONIC ARTS (EA)) eachcan develop games using game development platforms. A game developmentplatform may generally refer to the hardware architecture and/orsoftware architecture that support computer programming (i.e., writingand maintaining of source code) for game development. A game developmentplatform may be, among other types, a desktop-based, web-based,cloud-based game development platform.

The platform includes hardware architecture and a software framework,where the combination can allow the games to be developed, deployed, andmanaged. The hardware architecture refers to identification of physicalcomponents and interrelationships and the software framework refers toan abstraction in which software providing generic functionality can beselectively changed by additional user-written code. In particular, asoftware framework (e.g., development components that generally refer tosupport programs, programming models, SDKs, compilers, code libraries,tool sets, graphical interfaces, and application programming interfaces(APIs)) can bring together different components to enable gamedevelopment. In this regard, for example, an independent developer mayuse a desktop-based game development platform and a game publisher mayhave a dedicated game development platform infrastructure. Gameplatforms as a service may also be available for the development,hosting, deployment, and management of game services using a distributedsystem having a cloud computing platform.

Typically, a cloud computing platform acts to store data or run serviceapplications in a distributed manner. A distributed system cloudcomputing platform may span across wide geographic locations, includingcountries and continents. The cloud computing platform can be a publiccloud that provides different types of services including computeservices (e.g., virtual machines, web sites, cloud services, and mobileservices), data services (e.g., storage, SQL databases, SQL reporting,tables, backup, and recovery), networking services (e.g., virtualnetwork, traffic manager, data transfer) and application services (e.g.,media services, service bus, notification hubs, and multi-factorauthentication). For example, the cloud computing platform provides forrunning service applications and storing data on machines in aninternet-accessible datacenter. In particular, a cloud-based gamedevelopment platform may implement development components for a game fordeveloping, hosting, and deploying games services. In embodiments,cloud-based service may be provided based on service level agreements,i.e., the service-application components (e.g., tenant infrastructure)of a service application maintained based on agreements with the tenant.A tenant may have contractual agreements with a host for one or moreservice-applications and service level agreements and policies forsupporting the tenant infrastructure.

The service-application components (e.g., tenant infrastructure ortenancy) of the cloud computing platform may include nodes (e.g.,computing devices, processing units, or blades in a server rack) thatare allocated to run one or more portions of a tenant's serviceapplications. When more than one separate service applications are beingsupported by the nodes, the nodes may be partitioned into virtualmachines or physical machines that concurrently run the separate serviceapplications, respectively, in individualized computing environmentsthat support the resources and/or operating system specific to eachservice application. Further, each service application may be dividedinto functional portions such that each functional portion is able torun on a separate virtual machine. Generally, “roles” provide a templatedescription of the functional portion of the service application. Rolesare described by indicating the computer code implementing the role, theconditions within the hosting environment that are needed by the role,configuration settings to be applied to the role, and the role's set ofendpoints for communication with other roles, elements, etc. In oneinstance, the role's configuration settings may include collectivesettings, which are shared by all instances of the role, or individualsettings that are particular to each instance of the role.

In embodiments, a service model is employed to determine whichattributes, or a set of attributes, are to be conveyed from theinstances of the roles of the service application. As utilized herein,the phrase “service model” is not meant to be limiting and generallyrefers to any communication that includes information pertaining toestablishing and managing instances of a service application within adatacenter. Generally, the service model is an interface blueprint thatprovides instructions for managing component programs of the serviceapplication. The service model acts to guide a cloud computing platformin coordinating activities between the deployed service applications andservice-application components upon deployment to distributed locationsthroughout the distributed system. The service model includes adescription of which roles of the service application are to beestablished, or how the instances of each of the roles are to beinstalled and activated within the data center. That is, the servicemodel serves as an articulation of which roles may be running for theservice application and conditions for where instances of the roles maybe installed through a cloud computing platform. The implementation of aservice application for a tenant (e.g., customer or company) may be amodel environment or a customized environment configured as a servicemodel of the cloud computing platform that includes one or more roles,typically running multiple instances of each role, using load balancingacross the instances of roles.

The cloud computing platform components (e.g., a fabric controller) arefurther responsible for various duties surrounding the monitoring,maintenance, and management of the health of computer resources, networkgear, serial devices, and power units that support the underlyingfunctionality of the fabric. Various differing types of cloudconfigurations may be implemented with embodiments of the presentinvention, thus it should be understood and appreciated by those ofordinary skill in the art that suitable structures of cloud computingplatform may be used, and that embodiments of the present invention arenot limited to those described herein.

The conventional techniques for providing game development platforms arenot effective or efficient in facilitating an integrated gamedevelopment cloud computing platform. For example, a game publisherutilizing cloud-based services for lobby rendezvous services, high scoreservices, or even deployment of cloud-based games would utilize a firstset of SDKs and control interfaces and the same game publisher would usea second set of SDKs and control interface for compute, data,application, and network services. Conventional techniques also lacksupport for cross-platform titles which could use the same programmingmodel in supporting different game-platforms. Moreover, a singularbusiness model is unavailable to pay a uniform rate for cloud-basedservices for different console manufacturers. At a basic level today, agame development platform as a cloud-based implementation is merelyanother service-application that receives resources and support througha cloud computing platform without integrating the developmentcomponents of the game development platform with the hostinginfrastructure of the cloud computing platform. An integrated gamedevelopment cloud computing platform provides comprehensive support forgame development, including deployment and management, using integratedfeatures and functions (e.g., services) from the game developmentplatform and the cloud computing platform, plus a resulting businessmodel framework by which to pay for cloud services consumed.

Generally, embodiments of the present invention provide simple andefficient integrated game development cloud computing platform system,and methods for developing games using the integrated game developmentcloud computing platform. In particular, development components that aredefined herein to broadly refer to the programming models, SDKs, APIs,tools, libraries, graphical user interfaces, and service and billingmodels, for an integrated game development cloud computing platform aregenerated from integrating development components from the developmentcomponents of game development platforms into the development componentsof the cloud computing platform. It is contemplated that the existingdevelopment components of a public cloud computing platform are extendedsuch that the development components support game-cloud services. Inaddition, the business model that determines costs may be uniformmarket-competitive rates for execution and operation of a tenantinfrastructure, including compute services, data services, applicationservices, and network services. The integrated game development cloudcomputing platform may further include a developer portal that providesa graphical user interface (GUI) for a developer to develop, deploy andmanage game titles within datacenters of the cloud computing platform.In embodiments, the integrated game development cloud computing platformmay provide an integrated authentication and authorization model where agame publisher can utilize existing on-premise identity stores (e.g.,MICROSOFT ACTIVE DIRECTORY) to access and control the tenantinfrastructure in the cloud computing platform for properly authorizedemployees of the game company itself. It is contemplated that techniquesdescribed herein can be used in integrating other types of applicationsfor software development, as such, the use of “game development” is notmeant to be limiting.

Accordingly, in a first aspect of the present invention, a method forgame development based on an integrated game development cloud computingplatform is provided. The method comprises initiating developmentcomponents that facilitate game development using an integratedgame-cloud component. The method also includes receiving an input toperform a game development task. The game development task is associatedwith one or more games. The method further includes executing the gamedevelopment task using the integrated game-cloud component. Theintegrated game-cloud component comprises a game-development-platformdevelopment component and a cloud-computing-platform developmentcomponent combined into an integrated development component supported onthe integrated game development cloud computing platform at least inpart as a combined set of related functions.

In a second aspect of the present invention, a system having anintegrated application development cloud computing platform is provided.The system includes an interface component configured for: initiatingdevelopment components that facilitate application development; andreceiving an input to perform an application development task. Theapplication development task is associated with one or moreapplications. The system further includes an integratedapplication-cloud component configured for: executing the applicationdevelopment task, the integrated application-cloud component comprisesan application-development-platform development component and acloud-computing platform development component combined into anintegrated development component supported on the integrated applicationdevelopment cloud computing platform at least in part as a combined setof related functions. The system also includes a monitoring componentconfigured for: monitoring one or more application-cloud integratedservices. At least one of the one or more application-cloud integratedservices is configured for monitoring based on an integratedapplication-cloud package. The system further includes a businesscomponent configured for: calculating an integrated application-cloudusage charge. The integrated application-cloud usage charge comprises acombined charge for usage of the one or more application-cloud services.

In a third aspect of the present invention, one or morecomputer-readable media storing computer-useable instructions that, whenused by one or more computing devices, cause the one or more computingdevices to perform a method for game development based on an integratedgame development cloud computing platform is provided. The methodincludes initiating development components that facilitate gamedevelopment of two or more games using an integrated game-cloudcomponent. A game from the two or more games is configured for two ormore game-platforms. The method further includes receiving an input toperform a game development task; the game development task is associatedwith a first game-platform or a second game-platform for the game. Thefirst game-platform and the second game-platform are associated with across-platform support component having an integrated core module and anintegrated game-platform module. The method also includes executing thegame development tasking using the integrated game-cloud component. Theintegrated game-cloud component includes a game-development-platformdevelopment component and a cloud-computing-platform developmentcomponent combined into an integrated development component thatfunctions with the integrated core module and an integratedgame-platform module.

Having briefly described an overview of embodiments of the presentinvention, an exemplary operating environment in which embodiments ofthe present invention may be implemented is described below in order toprovide a general context for various aspects of the present invention.Referring initially to FIG. 1 in particular, an exemplary operatingenvironment for implementing embodiments of the present invention isshown and designated generally as computing device 100. Computing device100 is but one example of a suitable computing environment and is notintended to suggest any limitation as to the scope of use orfunctionality of the invention. Neither should the computing device 100be interpreted as having any dependency or requirement relating to anyone or combination of components illustrated.

The invention may be described in the general context of computer codeor machine-useable instructions, including computer-executableinstructions such as program modules, being executed by a computer orother machine, such as a personal data assistant or other handhelddevice. Generally, program modules including routines, programs,objects, components, data structures, etc., refer to code that performparticular tasks or implement particular abstract data types. Theinvention may be practiced in a variety of system configurations,including hand-held devices, consumer electronics, general-purposecomputers, more specialty computing devices, etc. The invention may alsobe practiced in distributed computing environments where tasks areperformed by remote-processing devices that are linked through acommunications network.

With reference to FIG. 1, computing device 100 includes a bus 110 thatdirectly or indirectly couples the following devices: memory 112, one ormore processors 114, one or more presentation components 116,input/output ports 118, input/output components 120, and an illustrativepower supply 122. Bus 110 represents what may be one or more busses(such as an address bus, data bus, or combination thereof). Although thevarious blocks of FIG. 1 are shown with lines for the sake of clarity,in reality, delineating various components is not so clear, andmetaphorically, the lines would more accurately be grey and fuzzy. Forexample, one may consider a presentation component such as a displaydevice to be an I/O component. Also, processors have memory. Werecognize that such is the nature of the art, and reiterate that thediagram of FIG. 1 is merely illustrative of an exemplary computingdevice that can be used in connection with one or more embodiments ofthe present invention. Distinction is not made between such categoriesas “workstation,” “server,” “laptop,” “hand-held device,” etc., as allare contemplated within the scope of FIG. 1 and reference to “computingdevice.”

Computing device 100 typically includes a variety of computer-readablemedia. Computer-readable media can be any available media that can beaccessed by computing device 100 and includes both volatile andnonvolatile media, removable and non-removable media. By way of example,and not limitation, computer-readable media may comprise computerstorage media and communication media.

Computer storage media include volatile and nonvolatile, removable andnon-removable media implemented in any method or technology for storageof information such as computer-readable instructions, data structures,program modules or other data. Computer storage media includes, but isnot limited to, RAM, ROM, EEPROM, flash memory or other memorytechnology, CD-ROM, digital versatile disks (DVD) or other optical diskstorage, magnetic cassettes, magnetic tape, magnetic disk storage orother magnetic storage devices, or any other medium which can be used tostore the desired information and which can be accessed by computingdevice 100. Computer storage media excludes signals per se.

Communication media typically embodies computer-readable instructions,data structures, program modules or other data in a modulated datasignal such as a carrier wave or other transport mechanism and includesany information delivery media. The term “modulated data signal” means asignal that has one or more of its characteristics set or changed insuch a manner as to encode information in the signal. By way of example,and not limitation, communication media includes wired media such as awired network or direct-wired connection, and wireless media such asacoustic, RF, infrared and other wireless media. Combinations of any ofthe above should also be included within the scope of computer-readablemedia.

Memory 112 includes computer storage media in the form of volatileand/or nonvolatile memory. The memory may be removable, non-removable,or a combination thereof. Exemplary hardware devices include solid-statememory, hard drives, optical-disc drives, etc. Computing device 100includes one or more processors that read data from various entitiessuch as memory 112 or I/O components 120. Presentation component(s) 116present data indications to a user or other device. Exemplarypresentation components include a display device, speaker, printingcomponent, vibrating component, etc.

I/O ports 118 allow computing device 100 to be logically coupled toother devices including I/O components 120, some of which may be builtin. Illustrative components include a microphone, joystick, game pad,satellite dish, scanner, printer, wireless device, etc.

With additional reference to FIG. 2, a block diagram depicting anexemplary cloud computing distributed system 200 suitable for use inembodiments of the invention is described. Generally, the cloudcomputing distributed system 200 illustrates an environment for gamedevelopment based on an integrated game development cloud computingplatform. Embodiments of the present invention also provide a systemhaving an integrated game development cloud computing platform thatprovides comprehensive support for game development, includingdeployment and management, using an integrated development componenthaving functions and features from both a game development platform anda cloud computing platform. Among other components not shown, the cloudcomputing distributed system 200 generally includes an integrated gamedevelopment cloud computing platform 202 that includes an interfacecomponent 204, an integrated game-cloud component 206, a monitoringcomponent 208, a business component 210, an authentication component212, a cross-platform support component 214 having an integrated coremodule 216 and an integrated game-platform module 218, a developerconsole 220, a first game platform 222, a second game platform 224, anda network 226. The network 226 may include, without limitation, one ormore local area networks (LANs) and/or wide area networks (WANs). Suchnetworking environments are commonplace in offices, enterprise-widecomputer networks, intranets and the Internet. Accordingly, the network226 is not further described herein. The developer console 220 mayinclude any type of computing device, such as the computing device 100described with reference to FIG. 1, for example. By way of example only,developer console may be a desktop personal computer, a laptop computer,a cellular telephone, a PDA, or any other client computing device. Thedeveloper console 220 can provide access to a developer portal forcommunicating with the integrated game development cloud computingplatform 202. It should be noted, however, that the systems and methoddescribed herein are not limited to implementation on the exemplarydeveloper console, but may be implemented on any of a variety ofdifferent types of developer consoles within the scope of hereof.

In some embodiments, one or more of the illustrated components/modulesmay be implemented as stand-alone applications. Any number of developerconsoles, integrated game development cloud computing platforms, andgames, may be employed in the computing system 200 within the scope ofembodiments of the present invention. Each may comprise a singledevice/interface or multiple devices/interfaces cooperating in adistributed environment. For instance, the integrated game developmentcloud computing platform 202 may comprise multiple devices and/ormodules arranged in a distributed environment that collectively providethe functionality of the integrated game development cloud computingplatform 202 described herein.

As used herein, the phrase “game development” is not meant to belimiting, but may encompass a number of different types of applicationsthat can be integrated into a cloud computing platform. Additionally,other components/modules not shown also may be included within theintegrated game development cloud computing platform 202. It should beunderstood that this and other arrangements described herein are setforth only as examples. Other arrangements and elements (e.g., machines,interfaces, functions, orders, and groupings of functions, etc.) can beused in addition to or instead of those shown, and some elements may beomitted all together. Further, many of the elements described herein arefunctional entities that may be implemented as discrete or distributedcomponents or in conjunction with other components, and in any suitablecombination and location. Various functions described herein as beingperformed by one or more entities may be carried out by hardware,firmware, and/or software. For instance, various functions may becarried out by a processor executing instructions stored in memory.

With reference to FIG. 2, the integrated game development cloudcomputing platform 202 (hereinafter “integrated platform”) isresponsible for providing comprehensive functions of both a gamedevelopment platform and a cloud computing platform in an integratedmanner to game developers. The integrated platform 202 can be a publiccloud. The integrated platform supports game management tasks thatfacilitate the development, deployment and managements of game-cloudservices. Game management generally refers to tasks performed indelivery game functionality. For example, a game management task caninclude game development i.e., authoring, modifying, compiling,deploying, debugging, monitoring games and billing for consumed cloudservices. Further, game management tasks can also include integratedplatform 202 initiating development components for cloud computingplatform services e.g., allocating virtual machines within a datacenterfor use by a game-cloud service. The integrated game development cloudcomputing platform 202 may include a data center configured to host andsupport operation of endpoints a particular game-cloud service. Thephrase “application” or “service” as used herein broadly refers to anysoftware, or portions of software, that runs on top of, or accessesstorage locations within, the datacenter. In one embodiment, one or moreof the endpoints may represent the portions of software, componentprograms, or instances of roles that participate in the serviceapplication. In this regard, the integrated platform 202 provides theinfrastructure for executing integrated features and functions of gamedevelopment and cloud computing.

The interface component 204 in the integrated platform 202 isresponsible for generating interfaces for performing game managementtasks that combine game development and cloud computing services. Inparticular, user interface generally refers to the space where human andmachine interaction occurs (e.g., graphical user interfaces, voiceinterfaces, gesture interfaces) to provide effective operation andcontrol of the machine and feedback from the machines. The interfacesmay be generated for display on a developer console (e.g., developerconsole 220) for a developer accessing the integrated platform 202through a developer portal. The interfaces may also be generated fordisplay on a game platform (e.g., first game-platform 222 and secondgame-platform 224) that is used to access a game-cloud service. GUIelements can represent game-cloud service features that facilitateperforming game management tasks. For example, a graphical element canbe generated to facilitate creating a new integrated game-cloud service.The integrated game-cloud service can then be created upon selection ofa portion of the GUI that in turn calls an integrated game-cloudcomponent (e.g., integrated game-cloud component 206). The interfacecomponent can further be responsible for initiating applicationinterface development components that specify how software componentsshould interact with each other. The applications interfaces can be usedto ease the work of programming GUI interface components. It iscontemplated that the interface component 204 may function in part ingenerating and initiating development components that include an APIlibrary for the integrated game-cloud component; the API library caninclude specifications for routines, data structures, object classes,and variables from a combination of a game development platform and acloud computing platform.

The integrated game-cloud component 206 is generally responsible forexecuting game management tasks. In particular, the integratedgame-cloud component 206 includes a game-development-platformdevelopment component and a cloud-computing-platform developmentcomponent combined into an integrated development component supported onthe integrated platform 202. At a basic level, a game developmentplatform and a cloud computing platform may each have separatedevelopment components; however, the integrated game-cloud componentincludes these development components providing their utility in acohesive unit. In this regard, the integrated platform 202 reducesconfiguration necessary to piece together multiple development utilitiesand also increases developer productivity in managing games. In thisregard, game development service and a cloud computing service mayfurther be simultaneously instantiated instead of separately withoutadequate consideration for interrelationship between functions andfeatures of the services. For example, a conventional game service maybe a matchmaking game service. In multiplayer games, matchmaking is theprocess of connecting players together for online play sessions. Asimplemented with embodiments of the present invention, a matchmakinggame-cloud service may be a service model that instantiates both thegame and cloud service features for matchmaking. It is contemplated theinstantiation process can utilize the same development components. Theservice model may include attributes, or a set of attributes, to beconveyed from the instances of the roles of the service application. Theinstantiated game-cloud service may further support game-cloud packagesthat provide for configuring and managing aspects of the game. Forexample, configurations and parameters for a matchmaking service may beassociated with parties (i.e., groups of players who are treated as asingle entity), lobbies (i.e., menu screen for setting up game sessions,examine results, change settings), ranking, contacts, etc. In thisregard, the game-cloud service may be created with the simultaneousconsiderations for game configurations and cloud computinginfrastructure. In addition, the integrated game cloud component maycommunicate with the interface component 204 to generate a second GUIinterface. The second interface may be configured to receive additionalconfiguration settings for the game management tasks.

With continued reference to FIG. 2, a monitoring component 208 providesfor monitoring and managing performance and availability of game-cloudservices. The monitoring component 208 is configured to detectperformance problems and also diagnose performance problems. Themonitoring component 208 may reference service level agreements tomaintain performance and availability at an expected level of service.The monitoring component 208 may also define performance baselines basedon historical analysis of the integrated platform 202. The monitoringcomponent can quantify features of performance and availability suchthat the interface component 204 generates a GUI for communicatingmonitored data. The monitoring component 28 may track bandwidth orcomputation resources used by a game (e.g., virtual hard drives,network, virtual machines, and volumes of transactions). The monitoringcomponent may also track latency or responsiveness to user actions(e.g., active sessions, wait times and virtual machine spin ups and spindowns). In this regard, the a game developer may through the developerconsole 220 monitor metrics that are exposed on a GUI dashboard displaythat exposes dynamic opening and closing of sessions of a game runningon the cloud. Any variations and combinations of monitoring capabilitiesfor the integrated platform 202 are contemplated with embodiments of thepresent invention.

A business component 210 of the integrated platform 202 is generallyresponsible for handling a charge model for usage of resources in theintegrated platform 202. The charge model may be provided uniformly fora plurality of different types of applications (e.g., games, businessapplications, and web applications). In particular, a tenant having agame supported by different console manufacturers can pay a uniform ratefor game-cloud services for different console manufacturers. The chargemodel may be associated with usage of compute, data, application, andnetwork services. For example, the charge model may charge based on thenumber of roles and amount of time a game is deployed or for ingress andegress data transfer. Any variations and combinations of usages tocharge amounts are contemplated with embodiments of the presentinvention.

An authentication component 212 of the integrated platform 202 isgenerally responsible for implementing an authentication andauthorization model. The authentication component 212 may utilize anexisting on-premise identity store to access and control game-cloudservices. In particular, an integrated role-based access control modelmay be implemented in which only named game company individuals can gainaccess to specific game resources running in the cloud. Any variationsand combinations of identity models are contemplated with embodiments ofthe present invention.

With continued reference to FIG. 2, a cross-platform support component214 having an integrated core module 216 and an integrated game-platformmodule 218. The cross-platform support component 214 works with hardwareand software used to run games on different platforms (e.g., a firstgame platform 222 and a second game platform 224). A cross-platform gamemay refer to a game release on a range of video game consoles orgame-platforms. In this regard, the cross-platform support component 214specifically functions to accommodate cross-platform games. Thecross-platform support component 214 provides a way to cloud computeaspects of a game consistently. For example, a game developer may have afirst portion of the game code run unmodified on multiple platforms anda second portion of game code that is specific to a game-platform. Assuch, the processing of the first portion of game code is computedconsistently on the integrated platform 202. Support for thisfunctionality may be based on an integrated core module and anintegrated game-platform module. In embodiments the modules functionsimilar to the integrated game-cloud component in that the game-cloudservices with the cross-platform functionality are instantiated withintegrated development components of the game and cloud. Further, themodule may each include a library code i.e., behaviors that can beinvoked. A game can invoke a particular library behavior where thelibrary code is organized such that it can be used by multiple gamesthat have no connection to each other. In particular, a plurality ofgames may utilize the integrated core module 216 for performingfunctions common to all games; however, platform-specific games may usean integrated game-platform module for performing functions associatedwith a particular platform. Any variations and combinations ofcross-platform functionality as described herein are contemplated withembodiments of the present invention.

With reference to FIGS. 3-9, exemplary illustrations of the GUI of theintegrated game development cloud computing platform are shown. The GUIcan include graphical representations of the game-cloud servicesprovided through the integrated platform 202. In particular cangame-cloud services include compute, data, application, and networkservices implemented as integrated game-cloud service through theinterface. Resources 320 currently in use and associated attributes andconfiguration may further be displayed. The GUI may include attributes(e.g., name 350) that help identify the particular resource and theassociated attributes. From the GUI, selection of particular graphicalelements (e.g., game-cloud service 330 and custom create 340) caninitiate, using an integrated game-cloud component, the execution of agame management task (e.g., creating a service model game-cloud serviceor custom created game-cloud service).

With reference to FIG. 4, a new integrated game-cloud service GUI 410may be generated based on the selection of a graphical element to createa new game-cloud service. The a new integrated game-cloud service GUI410 may facilitate executing the game management task 420 based onconfiguration attributes entered in available fields (e.g., name 430).Upon completing configuration attributes an integrated game-cloudservice GUI 510 may be generated. The integrated game-cloud service GUI510 may display a plurality of game-cloud services including game 520and an associated status of the game-cloud service 530. The integratedgame-cloud service GUI 510 may further include additional gamemanagement tasks 540 that can be performed on the game-cloud servicesdisplayed.

FIG. 6 illustrates a game GUI 610 that provides for performing gamemanagement tasks associated with the game 620. Additional graphicalelements may be generated that are associated with specific attributesof the game. For example, selecting packages 630 can navigate to aninterface having the packages associated with the game 620. In addition,the interface includes graphical elements for several more gamemanagement tasks, including upload a package 640 that allows a developerto add or change a game deployment package to the game-cloud service.FIG. 7 includes a new integrated game-cloud deployment package GUI 710that may be generated based on the selection of a graphical element toupload a package. The new integrated game-cloud deployment package GUI710 can facilitate executing the game management task 720 based onconfiguration attributes selected from available fields (e.g.,integrated game-cloud service package 730). FIG. 8 includes the newintegrated game-cloud deployment package GUI 810 that can furtherprovide additional fields for configuration of attributes of thedeployment package. For example, name 820, maximum number of playerscount per session 830, and virtual machine size 840.

With reference to FIG. 9, an exemplary monitoring dashboard GUI 910 isdisplayed. For a selected game 920, the monitoring dashboard GUI 910graphically represents monitoring and managing performance andavailability of game-cloud services. Although not shown, the monitoringdashboard GUI 910 may further include graphical elements that detectperformance problems and also diagnose performance problems. Themonitoring dashboard GUI 910 includes tracking graphical elements 930for tracking bandwidth or computation resources used by a game (e.g.,virtual hard drives, network, virtual machines, and volumes oftransactions) and latency or responsiveness to user actions (e.g.,active sessions, wait times and virtual machine spin ups and spindowns). In this regard, the a game developer may through a developerconsole monitor metrics that are exposed on the monitoring dashboard GUI910, for example, dynamic opening and closing of sessions of a gamerunning on the cloud.

Turning now to FIG. 10, a flow diagram is provided that illustrates amethod 1000 for game development based on an integrated game developmentcomputing platform. At block 1010, development components thatfacilitate game development using an integrated game-cloud component areinitiated. The development components can include a graphical userinterface (GUI) having graphical elements representing game-cloudservice features such that selecting the graphical elements initiates atleast a portion of the integrated game-cloud component to execute thegame development task of a selected graphical element. It iscontemplated that a second set of development components can also beinitiated such that a second GUI is generated, based on a selection,where the second GUI is configured for receiving one or moreconfiguration settings for the game development task.

At block 1020, an input to perform a game development task is received.The game development task is associated with one or more games. Theinput may include information for both the game development platformservice and the cloud computing platform service for configuring agame-cloud service. At block 1030, the game development task is executedusing the integrated game-cloud component. The integrated game-cloudcomponent comprises a game development service and acloud-computing-platform development component combined into anintegrated development component supported on the integrated gamedevelopment cloud computing platform. It is contemplated that executingthe game development task using the integrated game-cloud componentfurther includes identifying an integrated game-cloud module of theintegrated game-cloud component, the integrated game-cloud moduleprovides a combined set of related functions of thegame-development-platform development component and thecloud-computing-platform development component associated with the gamedevelopment task. At least a portion of the combined set of relatedfunction is implemented. One or more game-cloud service features of theintegrated game development cloud computing platform are instantiated.In embodiments, the features, associated with the game and the cloud,are simultaneously instantiated as part of executing the game managementtask with the integrated game-cloud service.

Instantiating the one or more game-cloud service features may furtherinclude identifying resources for a game platform service and a cloudcomputing platform service using the same integrated game-cloud module.For example, game-development-platform development component featuresinclude parameters of lobby rendezvous service, high score services, andmatchmaking services and cloud computing platform services includeparameters of compute services, data services, application services, andnetwork services. It is contemplated that the parameters of the servicesare deployable using a deployment package that may include code andlibraries for implementing the service.

Turning now to FIG. 11, a flow diagram is provided that illustrates amethod 1100 for game development based on an integrated game developmentcomputing platform. At block 1110, development components thatfacilitate game development using an integrated game-cloud component areinitiated. At block 1120, an input is received to perform a gamedevelopment task, the game development task is associated with a firstgame-platform or a second game-platform for the game. The firstgame-platform and the second game-platform are associated with across-platform support component having an integrated core module and anintegrated game-platform module. At block 1130, the game developmenttask using the integrated game-cloud component is executed. Theintegrated game-cloud component comprises a game-development-platformdevelopment component and a cloud-computing platform service combinedinto an integrated development component that operates with theintegrated core module and the integrated game-platform module.

Embodiments of the present invention have been described in relation toparticular embodiments which are intended in all respects to beillustrative rather than restrictive. Alternative embodiments willbecome apparent to those of ordinary skill in the art to which thepresent invention pertains without departing from its scope.

From the foregoing, it will be seen that this invention in one welladapted to attain all the ends and objects hereinabove set forthtogether with other advantages which are obvious and which are inherentto the structure.

It will be understood that certain features and sub-combinations are ofutility and may be employed without reference to other features orsub-combinations. This is contemplated by and is within the scope of theclaims.

The invention claimed is:
 1. A method for game development using a cloudcomputing platform integrated with a game development platform(“integrated platform”), the method comprising: initiating an integratedgame-cloud component generated by integrating development components ofthe game development platform into development components of the cloudcomputing platform, wherein the integrated game-cloud componentcomprises an API library, wherein the API library includesspecifications for routines, data structures, object classes, andvariables from a combination of the game development platform and thecloud computing platform, wherein the integrated game-cloud component isconfigured to use a combined set of functions from the game developmentplatform and the cloud computing platform to: execute game developmenttasks for a game; and configure a tenant infrastructure within the cloudcomputing platform to facilitate deploying the game within the tenantinfrastructure; receiving an input to perform one of the gamedevelopment tasks, the input comprising an instruction to deploy aninstance of the game; and executing the game development task using theintegrated game-cloud component, wherein executing comprises configuringa first service model to (i) simultaneously instantiate at least onegame development service and at least one cloud computing platformservice within the tenant infrastructure, and (ii) deploy the instanceof the game by installing a corresponding role in the tenantinfrastructure.
 2. The method of claim 1, wherein the integratedgame-cloud component extends existing development components of a publiccloud computing platform to support configuring the game developmentservice and the cloud computing platform service from the sameinterface.
 3. The method of claim 1, wherein the input to perform thegame development task comprises an instruction to configure a deploymentof the game within one or more virtual machines of a configurable sizewithin the tenant infrastructure.
 4. The method of claim 1, wherein theinput to perform the game development task comprises at least oneconfiguration input for a game-development-platform service and at leastone configuration input for a cloud-computing platform service forconfiguring a game cloud service.
 5. The method of claim 1, whereinsimultaneously instantiating the at least one game development serviceand the at least one cloud computing platform service comprisesutilizing the same development component.
 6. The method of claim 5,wherein the integrated game-cloud component comprises a plurality ofintegrated game-cloud modules, wherein at least a portion of theplurality of integrated game-cloud modules are generated fromdevelopment components of an existing cloud computing platform combinedwith development components of an existing game development platform. 7.The method of claim 5, additionally comprising: identifying resourcesfor the at least one game development service using an integratedgame-cloud module; and identifying resources for the at least one cloudcomputing platform service using the integrated game-cloud module. 8.The method of claim 7, wherein the at least one game development servicecomprises at least one of lobby rendezvous services, high scoreservices, and matchmaking services.
 9. The method of claim 7, whereinthe at least one cloud computing platform service that is simultaneouslyinstantiated with the at least one game development service comprises atleast one of compute services, data services, application services, andnetwork services provided by the tenant infrastructure.
 10. A systemhaving a cloud computing platform integrated with an applicationdevelopment platform (“integrated platform”), wherein the systemcomprises: one or more hardware processors and memory configured forproviding computer program instructions to the one or more hardwareprocessors; an interface component configured to execute on the one ormore hardware processors to: initiate an integrated application-cloudcomponent generated by integrating development components of theapplication development platform into development components of thecloud computing platform, wherein the integrated application-cloudcomponent comprises an API library, wherein the API library includesspecifications for routines, data structures, object classes, andvariables from a combination of a game development platform and thecloud computing platform, wherein the integrated application-cloudcomponent is configured to use a combined set of functions from theapplication development platform and the cloud computing platform;receive, via a developer portal configured to receive configurationparameters for an application under development and for a tenantinfrastructure within the cloud computing platform, an input to performan application development task for the application; and execute theapplication development task, by using the application-cloud componentto create a first service model configured to simultaneously instantiateat least one application development service and at least one cloudcomputing platform service within the tenant infrastructure.
 11. Thesystem of claim 10 further comprising an authentication componentconfigured to execute on the one or more hardware processors to:implement authentication and authorization services, wherein theauthentication and authorization services are based at least in part onexisting on premise identity stores; and manage access and controlconfigurations associated with the integrated platform, wherein theaccess and control configurations are based on a role-based accesscontrol model.
 12. The system of claim 10, wherein the integratedplatform is an integrated game development cloud computing platformconfigured to support two or more games, wherein the integratedapplication-cloud component is an integrated game-cloud component, andwherein the application development task is a game development task, theintegrated platform further comprising: a cross-platform componenthaving an integrated core module and an integrated game-platform module.13. The system of claim 12, wherein the integrated core module isconfigured to execute on the one or more hardware processors to:reference the combined set of functions in connection with anon-platform-specific task; implement at least a portion of the combinedset of functions; and instantiate one or more game-cloud servicefeatures of the non-platform-specific-task.
 14. The system of claim 12,wherein the integrated game-platform module is configured to execute onthe one or more hardware processors to: reference the combined set offunctions in connection with a platform-specific task; implement atleast a portion of the combined set of functions; and instantiate one ormore game-cloud service features of the platform-specific task.
 15. Thesystem of claim 12, wherein the integrated platform further comprises amonitoring component configured to execute on the one or more hardwareprocessors to monitor one or more game-cloud integrated services, usingthe integrated game-cloud component, by: tracking computation resourcesof the two or more games; tracking responsiveness to user actions of thetwo or more games; and providing for display on a graphical userinterface (GUI) metrics associated with the computation resources andthe responsiveness to user actions.
 16. The system of claim 12, whereinthe integrated platform further comprises a business componentconfigured to execute on the one or more hardware processors tocalculate an integrated application-cloud usage charge based on uniformrates for services from one or more console manufacturers that access atleast one game of the two or more games, wherein the integratedapplication-cloud usage charge comprises a uniform charge for usage ofone or more game-cloud integrated services.
 17. The system of claim 12,wherein the at least one cloud computing platform service includes atleast one of: compute services, data services, application services, andnetwork services provided by the tenant infrastructure.
 18. One or morecomputer-readable media storing computer-useable instructions that, whenused by one or more computing devices, cause the one or more computingdevices to perform a method for game development using a cloud computingplatform integrated with a game development platform (“integratedplatform”), the method comprising: initiating an integrated game-cloudcomponent generated by integrating development components of the gamedevelopment platform into development components of the cloud computingplatform, wherein the integrated game-cloud component comprises an APIlibrary, wherein the API library includes specifications for routines,data structures, object classes, and variables from a combination of thegame development platform and the cloud computing platform, wherein theintegrated game-cloud component is configured to use a combined set offunctions from the game development platform and the cloud computingplatform to: execute game development tasks for two or more gameswherein a game from the two or more games is configured for two or moregame-platforms; and configure a tenant infrastructure within the cloudcomputing platform to facilitate deploying the two or more games withinthe tenant infrastructure; receiving an input to perform one of the gamedevelopment tasks, wherein the game development task is associated witha first game-platform or a second game-platform for the two or moregames, wherein the first game-platform and the second game-platform areassociated with a cross-platform support component having an integratedcore module and an integrated game-platform module; and executing thegame development task using the integrated game-cloud component, whereinexecuting comprises configuring a first service model to (i)simultaneously instantiate at least one game development service and atleast one cloud computing platform service within the tenantinfrastructure, and (ii) deploy instances of the two or more games byinstalling corresponding roles in the tenant infrastructure, wherein theintegrated game-cloud component operates with the integrated core moduleand the integrated game-platform module.
 19. The one or morecomputer-readable media of claim 18, wherein the integrated core modulefunctions with a first portion of code of each of the two or more gamesthat runs unmodified on multiple platforms, and the integratedgame-platform module functions with a second portion of code of each ofthe two or more games that is specific to a game-platform.
 20. The oneor more computer-readable media of claim 18, wherein simultaneouslyinstantiating the at least one game development service and the at leastone cloud computing service comprises utilizing the same developmentcomponent.